Unintuitive user interfaces (UI) or poor system design can mean that certain errors are more likely to occur than others. Most modern software solutions provide a user with visual feedback (e.g., error messages; warning dialog boxes; highlighting of problem areas) when erroneous user input is provided.
For example, with reference to the system (100) shown in FIG. 1, a listener (105) listens for UI events and passes one or more UI events to an analyser (110). If the analyser (110) detects that a UI event is erroneous, it alerts a UI generator (115) which modifies the UI to inform the user of the erroneous event (e.g., by displaying a dialog box).
The aim of such a solution is to provide a feedback mechanism for the user so that the user can attempt to correct the error and continue. However, the onus is on the user to learn from their error such that he/she does not encounter the same error again.
A problem associated with such a solution is that it does not take into account how or why the error occurred in the first instance.
Typically, a user has to provide information regarding the error to developers of the UI (e.g., using a forum, form etc.). Subsequently, the developer has to manually trawl through the information provided; analyse the error; determine an appropriate fix; implement the fix and release the fix—this process is burdensome in terms of time and overhead and results in a slow process of taking into consideration user-provided information.
In another solution, information can be suggested based on user errors such as misclicks. For example, in its search engine, Google® provides alternative suggestions of search queries in response to common errors in the input of a search query.